package com.dbxt.util;

import org.springframework.util.DigestUtils;

public class MD5Util  {
	/**
	 * @param text明文
	 * @param key密钥
	 * @return 密文
	 */
	// 带秘钥加密
	public static String md5withkey(String text, String key) throws Exception {
		// 加密后的字符串
		String a=text + key;
		String md5str = DigestUtils.md5DigestAsHex((a).getBytes());
		//System.out.println("MD5加密后的字符串为:" + md5str);
		return md5str;
	}

	// 不带秘钥加密
	public static String md5nokey(String text) throws Exception {
		// 加密后的字符串
		String md5str = DigestUtils.md5DigestAsHex(text.getBytes());
		//System.out.println("MD52加密后的字符串为:" + md5str + "\t长度：" + md5str.length());
		return md5str;
	}

	/**
	 * MD5验证方法
	 * 
	 * @param text明文
	 * @param key密钥
	 * @param md5密文
	 */
	// 根据传入的密钥进行验证֤
	public static boolean verify(String text, String key, String md5) throws Exception {
		String md5str = md5withkey(text, key);
		if (md5str.equalsIgnoreCase(md5)) {
			System.out.println("MD5验证通过");
			return true;
		}
		return false;
	}
	
public static void main(String[] args) throws Exception {
	System.out.println(md5withkey("123456","dbxt"));
}

}
